<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>作用域</title>
  </head>
  <body>
    <script>
      /**
       * 作用域：分为全局作用域和函数作用域
       *
       * 1. 全局作用域
       *  - 直接写在script标签中的JS代码，都在全局作用域
       *  - 全局作用域在页面打开时创建，在页面关闭时销毁
       *  - 在全局作用域中有一个全局对象window，它代表的是一个浏览器的窗口，由浏览器创建我们可以直接使用
       *  - 在全局作用域中：
       *      创建的变量都会作为window对象的属性保存
       *      创建的函数都会作为window对象的方法保存
       * 2. 函数作用域
       *    - 调用函数时创建函数作用域，函数执行完毕以后，函数作用域销毁
       *    - 每次调用一次函数就会创建一个新的函数作用域，它们之间是相互独立的
       *    - 在全局作用域中不能访问函数作用域中的变量
       *    - 在函数中不使用var声明的变量都会成为全局变量
       */

      var a = 10;
      const b = 20;
      console.log(window.a);
      console.log(window.b);
    </script>
  </body>
</html>
